package xyc.szk.web.servlet.cookie;
/*
 * @Description:
 * @Author: 山志凯
 * @Date: 2021-04-09
 * @Time: 14:06
 */

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet("/cookie03")
public class CookieServlet03 extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //创建一个cookie
        Cookie cookie1 = new Cookie("username1", "tom1");
        Cookie cookie2 = new Cookie("username2", "tom2");

        //设置maxAge属性，以将cookie持久化（写入硬盘中）
        /*这个方法的参数有三种情况：-1（默认值）：表示cookie写在浏览器的内存（缓存）中；
        *                       0:表示的是通知浏览器删除cookie；
        *                     正数：表示的是这个cookie的失效时间，单位是秒
        * */
        //设置两分钟后自动删除
        cookie1.setMaxAge(2*60);
        cookie2.setMaxAge(2*60);

        //设置同一个服务器下面所有的web项目共享cookie
        cookie1.setPath("/");
        //设置不同服务器下共享cookie，但这些服务器顶级域名是相同的如：jd.com
        //setDomain(".jd.com");//这个属性的值一定是以点好开始，否则cookie不能正常工作

        resp.addCookie(cookie1);//即服务器向浏览器发送一个响应头：Set-Cookie:username1=tom1
        resp.addCookie(cookie2);//即服务器向浏览器发送一个响应头：Set-Cookie:username2=tom2
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        super.doPost(req, resp);
    }
}